package com.Algorithm.HUAWEI.four20220505;

import java.io.BufferedReader;
import java.io.InputStreamReader;

/**
 * Created with IntelliJ IDEA.
 *
 * @Author: zjz
 * @Date: 2022/05/10/10:58
 * @Description:
 * @Target:
 */
public class DNA序列 {
    /*
    * 一个 DNA 序列由 A/C/G/T 四个字母的排列组合组成。
    *  G 和 C 的比例（定义为 GC-Ratio ）是序列中 G 和 C 两个字母的总的出现次数除以总的字母数目（也就是序列长度）。
    * 在基因工程中，这个比例非常重要。因为高的 GC-Ratio 可能是基因的起始点。

    给定一个很长的 DNA 序列，以及限定的子串长度 N ，请帮助研究人员在给出的 DNA 序列中从左往右找出 GC-Ratio 最高且长度为 N 的第一个子串。
    DNA序列为 ACGT 的子串有: ACG , CG , CGT 等等，但是没有 AGT ， CT 等等

    数据范围：字符串长度满足 1 \le n \le 1000 \1≤n≤1000  ，输入的字符串只包含 A/C/G/T 字母
    输入描述：
    输入一个string型基因序列，和int型子串的长度

    输出描述：
    找出GC比例最高的子串,如果有多个则输出第一个的子串

    示例1
    输入：
    ACGT
    2
    复制
    输出：
    CG
    复制
    说明：
    ACGT长度为2的子串有AC,CG,GT3个，其中AC和GT2个的GC-Ratio都为0.5，CG为1，故输出CG
    * */

    // 给定一个字符串，长度为N的连续的子字符串中找GC-Ratio最大的


    public static void main(String[] args) throws Exception{
        BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
        String ss = in.readLine();
        int N = Integer.valueOf(in.readLine());

        int max = Integer.MIN_VALUE;
        int index = 0;
        for (int i = 0; i < ss.length()-N; i++) {
            if (max<countGC_Ratio(ss,N,i)){
                max = countGC_Ratio(ss,N,i);
                index = i;
            }
        }


        for (int i = index; i < index+N; i++) {
            System.out.print(ss.charAt(i));
        }
    }

    // 计算GC-Ratio
    static int countGC_Ratio(String ss,int N,int index){
        int count = 0;
        for (int i = index; i < index+N; i++) {
            if (ss.charAt(i)=='C'||ss.charAt(i)=='G'){
                count++;
            }
        }

        // 对于计算，分子大的就行。
        return count;
    }



}
